// 云函数入口文件
const cloud = require('wx-server-sdk')
const axios = require('axios')
const cheerio = require('cheerio')
const ipify = require('ipify');
cloud.init({
	env: cloud.DYNAMIC_CURRENT_ENV
})
/*
node puppeteer 和 python selenium 类似
node cheerio 类似jq选择器 python 中有 beautifulsoup
常用模块
fs-extra
superagent
cheerio
log4js
sequelize
chalk
puppeteer
querystring 模块提供用于解析和格式化 URL 查询字符串的实用工具
*/
const db = cloud.database()
// 云函数入口函数
exports.main = async (event, context) => {
  // const wxContext = cloud.getWXContext()
  try{
	  // 爬取中英文
    let res =await axios.get('')
    let data = jsonpToJson(res.data)
	 // 爬取图片链接
  	let imgres = await axios.get('')

  	console.log(imgres)
	let $ = cheerio.load(imgres.data)
	let url = $('#pic_banner ul li img').attr('src')
	let parameter = {}
	parameter["chinmsg"] = data['note']
	parameter["engmsg"] = data['content']
	parameter["imgurl"] = url
	parameter["createTime"] = data['title'] +' ' + '  09:00'
	parameter["isshow"] = 1
	parameter["good"] = 1
	parameter["collection"] = 1
	parameter["typemsg"] = '每日一句'
	parameter["_openid"] = 'onAX35aOE4xnquSCtT1cmZr6Xo0U'
	parameter["download"] = 1
	console.log(parameter)
	let msg = await db.collection('ChickenSoup').add({data:parameter})
	let ip = await ipify({ useIPv6: false })
	console.log('访问ip',ip)
	return msg

	// console.log(msg)
  }catch(e){
		console.log(e)
		return e
  	//TODO handle the exception
  }

}

function jsonpToJson (datas) {
  let jsonData = null
  // 下面是对获取到的数据进行处理，把jsonp格式的数据处理成json格式的数据
  if (typeof datas === 'string') {            
    // 返回的是jsonp类型的数据，所以要用正则表达式来匹配截取json数据
    const reg = /^\w+\((\{[^()]+\})\)$/
    const matches = datas.match(reg)
    // matches匹配到的是数组，数组第一个是所有正则表达式匹配的字符串，第二个是第一个小括号匹配到的字符串
    if (matches) {
      jsonData = JSON.parse(matches[1])
    }
  }
  return jsonData
}





